import os
from dotenv import load_dotenv
load_dotenv()  # 生产环境也加载.env（若有）

class ProductionConfig:
    SECRET_KEY = os.environ.get('SECRET_KEY', 'default-secret')  # 生产环境必须通过环境变量设置
    DEBUG = False
    TESTING = False
    
    
    # 数据库配置（必须通过环境变量设置）
    DATABASE_URI = os.environ.get('DATABASE_URI')
    if not DATABASE_URI:
        raise ValueError("生产环境必须设置DATABASE_URI环境变量")
    SQLALCHEMY_DATABASE_URI = DATABASE_URI
    SQLALCHEMY_TRACK_MODIFICATIONS = False

    # 日志配置（生产环境更严格）
    LOG_LEVEL = 'INFO'
    AUDIT_LOG_ENABLED = True
    # AUDIT_LOG_PATH = r'C:\Users\17610\Desktop\python脚本\log\audit.log'
    AUDIT_LOG_PATH = r'C:\Users\17610\Desktop\python脚本\log\audit.log'

    # 安全配置
    SESSION_COOKIE_SECURE = True
    REMEMBER_COOKIE_SECURE = True
    
    # JWT配置（强密钥必须通过环境变量设置）
    JWT_SECRET_KEY = os.environ.get('JWT_SECRET_KEY')
    if not JWT_SECRET_KEY:
        raise ValueError("生产环境必须设置JWT_SECRET_KEY环境变量")
    
    # 跨域配置（生产环境限制来源）
    CORS_ALLOWED_ORIGINS = os.environ.get('CORS_ALLOWED_ORIGINS', '')
    if not CORS_ALLOWED_ORIGINS:
        raise ValueError("生产环境必须设置CORS_ALLOWED_ORIGINS环境变量")
    
    # 执法部门配置
    LAW_ENFORCEMENT_SECRET = os.environ.get('LAW_ENFORCEMENT_SECRET')
    LAW_ENFORCEMENT_IP_WHITELIST = os.environ.get('LAW_ENFORCEMENT_IP_WHITELIST', '').split(',')
    
    # 服务配置
    PORT = int(os.environ.get('PORT', 5000))
    HOST = os.environ.get('HOST', '0.0.0.0')